package com.net.oil.order.contract;

import com.net.oil.base.IBaseModel;
import com.net.oil.order.bean.ReserveDetailBean;

/**
 * 作者：lch
 * 时间：2018/4/27 0027:下午 22:45
 * 邮箱：245850413@qq.com
 * 说明：
 */

public interface ReserveDetailContract {
    interface Model extends IBaseModel{

        /**
         * 根据id获取预约详情
         * @param id    id
         */
        void getReserveDetail(int id);

        /**
         * 根据id取消预约
         * @param id    id
         */
        void cancelReserve(int id);
    }

    interface View {

        /**
         * 获取预约详情成功
         * @param reserveDetailBean     预约详情
         */
        void getReserveDetailSuccess(ReserveDetailBean reserveDetailBean);

        /**
         * 获取预约详情失败
         */
        void getReserveDetailFailed();

        /**
         * 取消预约成功
         */
        void cancelReserveSuccess();

        /**
         * 取消预约失败
         */
        void cancelReserveFailed();
    }

    interface Presenter {

        /**
         * 根据id获取预约详情
         * @param id    id
         */
        void getReserveDetail(int id);

        /**
         * 获取预约详情成功
         * @param reserveDetailBean     预约详情
         */
        void getReserveDetailSuccess(ReserveDetailBean reserveDetailBean);

        /**
         * 获取预约详情失败
         */
        void getReserveDetailFailed();

        /**
         * 根据id取消预约
         * @param id    id
         */
        void cancelReserve(int id);

        /**
         * 取消预约成功
         */
        void cancelReserveSuccess();

        /**
         * 取消预约失败
         */
        void cancelReserveFailed();
    }
}
